package com.shared.data;

import com.shared.context.User;
/**
 * Enumeration des type de donnes implémentant {@link IData}
 * @author queyroi
 *
 */
public enum TypeIData {
	
	APPORTEUR("Apporteur"),
	ASSURE("Assure"),
	COMPAGNIE("Compagnie"),
	CONTRAT("Contrat"),
	GARANTIE("Garantie"),
	INTERLOCUTEUR("Interlocuteur"),
	PRODUIT("Produit"),
	QUITTANCE("Quittance"),
	SINISTRE("Sinistre"),
	TARIFICATION("Tarification"),
	PROPOSITION("Proposition"),
	USER("User");
	
	private String label;
	
	private TypeIData(String label) {
		this.setLabel(label);
	}

	/**
	 * @param label the label to set
	 */
	public void setLabel(String label) {
		this.label = label;
	}

	/**
	 * @return the label
	 */
	public String getLabel() {
		return label;
	}
	
	public String toString(){
		return label;
	}
	
	public static TypeIData getEnum(String label){
		
		if(APPORTEUR.toString().equals(label)){
			return APPORTEUR;
		}
		if(ASSURE.toString().equals(label)){
			return ASSURE;
		}
		if(COMPAGNIE.toString().equals(label)){
			return COMPAGNIE;
		}
		if(CONTRAT.toString().equals(label)){
			return CONTRAT;
		}
		if(GARANTIE.toString().equals(label)){
			return GARANTIE;
		}
		if(INTERLOCUTEUR.toString().equals(label)){
			return INTERLOCUTEUR;
		}
		if(PRODUIT.toString().equals(label)){
			return PRODUIT;
		}
		if(QUITTANCE.toString().equals(label)){
			return QUITTANCE;
		}
		if(SINISTRE.toString().equals(label)){
			return SINISTRE;
		}
		if(TARIFICATION.toString().equals(label)){
			return TARIFICATION;
		}
		if(PROPOSITION.toString().equals(label)){
			return PROPOSITION;
		}
		if(USER.toString().equals(label)){
			return USER;
		}
		throw new IllegalArgumentException("Type non défini");
	}
	
}
